package com.anyou.mall.goo.goods.dto;


import com.anyou.mall.goo.goodsSku.domain.GooGoodsSku;
import com.anyou.mall.goo.parameter.domain.GooGoodsParameter;
import com.anyou.mall.goo.specs.domain.SpeSpecs;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;

/**
* @Description: 商品新增dto
* @author: ylj
* @date: 2022/3/29 17:35
*/
@Data
public class GoodsAddDTO {

    @ApiModelProperty("汽配商编号")
    @NotNull(message = "汽配商编号不能为空")
    private Long carPartsShopId;

    @ApiModelProperty("商品名称")
    @NotBlank(message = "商品名称不能为空")
    private String goodsName;

    @ApiModelProperty("商品图片路径")
    @NotBlank(message = "商品图片不能为空")
    private String goodsImgUrl;

    @ApiModelProperty("配件分类编号")
    @NotBlank(message = "配件分类不能为空")
    private String partsClassifyId;

    @ApiModelProperty("销售价格")
    @NotNull(message = "销售价格不能为空")
    private BigDecimal sellingPrice;

    @ApiModelProperty("成色（1全新件，2拆车件，3二手件）")
    @NotBlank(message = "成色不能为空")
    private String goodsCondition;

    @ApiModelProperty("配件品牌编号")
    private Long partsBrandId;

    @ApiModelProperty("适用车系")
    private String suitCarSeries;

    @ApiModelProperty("生产地址")
    private String produceAddress;

    @ApiModelProperty("重量（kg）")
    @NotNull(message = "重量不能为空")
    private Double weightNumber;

    @ApiModelProperty("长度（mm）")
    @NotNull(message = "长度不能为空")
    private Double lengthNumber;

    @ApiModelProperty("宽度（mm）")
    @NotNull(message = "宽度不能为空")
    private Double widthNumber;

    @ApiModelProperty("高度（mm）")
    @NotNull(message = "高度不能为空")
    private Double heightNumber;

    @ApiModelProperty("体积（立方米）")
    @NotNull(message = "体积不能为空")
    private Double volumeNumber;

    @ApiModelProperty("商品介绍")
    @NotBlank(message = "商品介绍不能为空")
    private String goodsIntroduce;

    @ApiModelProperty("库存预警")
    @NotNull(message = "库存预警不能为空")
    private Long stockWarning;

    @ApiModelProperty("最低购买数")
    @NotNull(message = "最低购买数不能为空")
    private Long minBuyNumber;

    @ApiModelProperty("发货时间类型（1立即发货，2定时发货）")
    @NotBlank(message = "发货时间类型不能为空")
    private String deliveryTimeType;

    @ApiModelProperty("定时天数")
    private Long timingDayNumber;

    @ApiModelProperty("是否支持安邮配送（0否，1是）")
    @NotBlank(message = "是否支持安邮配送不能为空")
    private String isSupportAnyou;

    @ApiModelProperty("是否支持自行配送（0否，1是）")
    @NotBlank(message = "是否支持自行配送不能为空")
    private String isSupportOwn;

    @ApiModelProperty("是否支持快递物流（0否，1是）")
    @NotBlank(message = "是否支持快递物流不能为空")
    private String isSupportLogistics;

    @ApiModelProperty("快递物流费用")
    private BigDecimal logisticsCost;

    @ApiModelProperty("上架状态（0下架 1上架）")
    @NotBlank(message = "上架状态不能为空")
    private String publishStatus;

    @ApiModelProperty("适合运输车型id list")
    @NotNull(message = "适合运输车型id list不能为空")
    private List<Long> distributionModeIdList;

    @ApiModelProperty("商品规格List")
    @NotNull(message = "商品规格List不能为空")
    private List<SpeSpecs> specsList;

    @ApiModelProperty("商品参数List")
    @NotNull(message = "商品参数List不能为空")
    private List<GooGoodsParameter> parameterList;

    @ApiModelProperty("商品sku List")
    @NotNull(message = "商品sku List不能为空")
    private List<GooGoodsSku> skuList;

    @ApiModelProperty("是否是积分商品（0否 1是）")
    @NotNull(message = "是否是积分商品不能为空")
    private Integer isJf;

    @ApiModelProperty("积分商品类型（0-实体商品，1-虚拟商品）")
    private String jfType;

    @ApiModelProperty("积分商品库存")
    private Integer jfStock;

    @ApiModelProperty("积分值")
    private Integer jfValue;



}
